FIG. 1 depicts a conventional magnetic element 10 used in conventional magnetic memories, such as magnetic random access memories (MRAM). The conventional magnetic element 10 includes a conventional pinned layer 12, a conventional tunneling barrier 14, and a conventional free layer 16. Other layers (not shown), such as antiferromagnetic pinning, seed, and/or capping layers may also be used. The conventional pinned layer 12 and the conventional free layer 18 are ferromagnetic. Thus, the conventional free layer 16 is depicted as having a changeable magnetization 17. The conventional spacer layer 14 is a nonmagnetic tunneling barrier layer. The magnetization 13 of the pinned layer 12 is pinned in a particular direction. The magnetization 17 of the free layer 16 is free to rotate, typically in response to an external magnetic field.
The geometry of the conventional magnetic element 10 is such that the magnetization 17 of the conventional free layer 16 is stable parallel or antiparallel to the magnetization 13 of the conventional pinned layer 12. Depending upon the orientations of the magnetization 17 of the conventional free layer 16 and the magnetization 13 of the conventional pinned layer 12, the resistance of the conventional magnetic element 10 changes. When the magnetization 17 of the conventional free layer 16 is parallel to the magnetization 13 of the conventional pinned layer 12, the resistance of the conventional magnetic element 10 is low and, in general, the magnetic element 10 is in a “0” state. When the magnetization 17 of the conventional free layer 16 is antiparallel to the magnetization 13 of the conventional pinned layer 12, the resistance of the conventional magnetic element 10 is high and the conventional magnetic element 10 is in a “1” state.
In order to write to the conventional magnetic element 10, two currents, or equivalently, two fields are typically used. One field is typically perpendicular to the final, equilibrium direction of the magnetization 17 of the conventional free layer 16. This field is known as the hard axis field and is typically generated by a word line current driven in a corresponding word line. The other field is typically parallel or antiparallel to the magnetization 13 of the conventional pinned layer 12. This field is known as the easy axis field and is typically generated by a bit line current driven in a corresponding bit line. Depending on the direction of the bit line current (e.g. positive or negative with respect to a particular defined current direction), the magnetization 17 of the conventional free layer 16 is aligned generally parallel or generally antiparallel to the magnetization 13 of the conventional pinned layer 12.
FIG. 1B depicts a conventional method 50 for programming the conventional magnetic element 10. FIG. 1C depicts a graph indicating the word line current and bit line current corresponding to the conventional method 50. At some time, the word line current I1 is turned on, via step 52. Consequently, a hard axis field corresponding to I1 is generated. After some later time, t1, the bit line current I2 (or −I2) is turned on, via step 54. Thus, an easy axis field in the appropriate direction is generated. Both currents remain on for some time, t2. The word line current is then turned off, via step 56. After some time, t3, after the word line current has been completely turned off, the bit line current is turned off, via step 58.
Although the conventional method 50 allows the conventional magnetic element 10 to be programmed, one of ordinary skill in the art will readily realize that there are drawbacks to such programming. FIGS. 2A–2C depict the free layer 60, 60′ and 60″ of the conventional magnetic element 10 after the conventional method 50 has been used. The same currents were used in steps 52 and 54 for the free layer 60, 60′ and 60″. As can be seen in FIGS. 2A–2C, the majority of the magnetic moments for each of the free layers 60, 60′ and 60″ are aligned in the same direction. However, due to the demagnetization field at the ends of the free layers 60, 60′, and 60″, the magnetization near the left and right ends of the free layers 60, 60′, and 60″, respectively, are not perpendicular to the surfaces at the ends of the free layers 60, 60′, and 60″, respectively. Instead, the magnetic moments 62 and 64, 62′ and 64′, and 62″ and 64″ may have different orientations. The free layer 60 has the magnetic moments 62 and 64 parallel. The magnetic moments 62′ and 64′ of the free layer 60′ are not parallel. Although the magnetic moment 62′ is in the same direction as the magnetic moment 62, the magnetic moment 64′ is in a different direction. Similarly, the magnetic moments 62″ and 64″ of the free layer 60″ are not parallel. Although the magnetic moment 64′ is in the same direction as the magnetic moment 64, the magnetic moment 62″ is in a different direction.
The differences in the magnetic moments 62 and 64, 62′ and 64′, and 62″ and 64″ cause the free layers 60, 60′, and 60″, respectively, to be switched at different fields and, therefore, programming failures. Stated differently, even when programmed in the same way using the conventional method 50, the magnetic moments 62 and 64, 62′ and 64′, and 62″ and 64″ may differ. Consequently, the fields required to switch the magnetizations may differ. As a result, the bit line currents and word line currents required to program the free layers 60, 60′, and 60″ differ. When the switching field increases, the currents actually used may not be sufficient to program the free layer 60, 60′, or 60″. Conversely, when the switching field decreases, the currents actually used may cause inadvertent programming of the free layer 60, 60′, or 60″.
Accordingly, what is needed is a system and method for more reliably programming elements in a magnetic memory. The present invention addresses such a need.